Spring Boot的文件上传,常使用MultipartFile
类,该类源自SpringMVC。
一、【文件上传三要素】:
- 表单提交方式:
method="post"
。 - 表单类型:
enctype="multipart/form-data"
。 - 表单项中有一个或者多个的
file
类型。
二、【编写HTML页面】:
1 | <form enctype="multipart/form-data" method="post" action="/upload"> |
三、【编写Controller】:
1 | "upload") (value = |
MultipartFile
对象的transferTo
方法,用于文件保存,效率和操作比原先使用fileOutStream
方便和高效。
四、【Spring Boot 对上传文件大小的配置】:
Spring Boot 默认对上传文件的大小限制是:每个文件的配置最大为1Mb,单次请求的文件的总数不能大于10Mb 。
配置上传文件大小有两种方式:
1、方式一:配置文件配置:
1 | spring.servlet.multipart.max-file-size=30Mb |
需要注意的是,如果是Spring Boot 1.5.x的配置是:
1
2
3 > spring.http.multipart.max-file-size=30Mb
> spring.http.multipart.max-request-size=30Mb
>
2、方式二:注入Bean:
1 |
|
五、【自定义文件上传路径】:
在配置文件中,自定义文件需要上传的路径:
1 | web.images-path=/Users/enhao/Desktop |
上传路径的key可以自定义。然后将其添加到静态资源路径下(static-locations),这样可以直接访问到。
然后程序中直接引用配置文件中的路径即可。